Creation d'une Portabilité via Marketplace

Création d'une portabilité via l'API Marketplace Netwo.

Netwo - Effectuer une portabilité

La demande de portabilité consiste à passer une commmande.
Il s'agit d'un processus en trois étapes :

  1. Créer un panier
  2. Récupérer les cart line correspondantes
  3. Créer une commande

1. Création du panier avec la portabilité

Il est nécessaire d'avoir un sip trunk enregistré sur le SaaS afin de pouvoir faire des portabilité
La route /cart permet de créer un panier.

Il est possible de passer un objet RIO au lieu de DID si la portabilité est avec RIO.

Le format de la wanted_date est RFC3339 et le fuseau est UTC.

Cet appel renvoie un cart_id qui sera nécessaire pour récupérer les cart lines, et procéder
à l'étape du passage de commande.

Exemple :

POST /cart

{
    "lines": [
        {
            "entity": {
                  "portability": {
                        "idn": "0123456789",
                        "wanted_date": "2024-12-01T10:00:00.000Z",
                        "rio_or_did": {
                          "did": [
                            "0234567890",
                            "0234567891",
                            "0234567892"
                          ]
                        },
                        "portability_type": "total",
                        "routing": "auto_routing_prefix",
                        "option_call_validation": false
                  }
            }
        }
    ],
    "context": "buyer"
}

2. Récupération des cart lines

La création de commande requiert de récupérer au préalable les lignes du panier par la route /cart/{{cart_id}}/lines

Cet appel permet également de vérifier les prix qui seront appliqués lors de la commande.

GET /cart/{{cart_id}}/lines

{
  "elements": [
    {
      "cart_line_id": "{{cart_line_id}}",
      "quantity": 1,
      "index": 0,
      "discount": {
        "access_fee": null,
        "recurring_price": null
      },
      "product": {
        "product_name": "Portabilité",
        "product_category": "inbound_portability",
        "specifics": {
          "catalog": {
            "description": "La portabilité est un processus de récupération des numéros principal et secondaires permettant de réaliser auprès de l’opérateur actuel du client la demande de transfert des numéros vers le nouvel opérateur.",
            "contract_name": "Portabilité",
            "contract_version_product_id": "{{cvp_id}}",
            "variation_id": null,
            "contract_document_bundle_url": "https://www.netwo.io",
            "infra_provider_slug": null,
            "infra_provider_name": null,
            "collected_by": "Netwo"
          }
        },
        "product_feature_set": {
          "access_fee": 0.0,
          "billing_periodicity": 1,
          "is_sellable": true,
          "payment_term": "payable_in_arrears",
          "recurring_price": 0.0
        }
      },
      "options": [],
      "context": {
        "portability": {
          "idn": "0123456789",
          "rio_or_did": {
            "did": [
              "0234567890",
              "0234567891",
              "0234567892"
            ]
          },
          "comments": null,
          "wanted_date": "2024-12-01T10:00:00.000Z",
          "portability_type": "total",
          "routing": "auto_routing_prefix"
        }
      }
    }
  ],
  "total_results": 1,
  "limit": 100,
  "offset": 0
}

3. Création de la commande

La route /order permet de créer une commande.

La commande lancera une demande de portabilité dans un délai de quelques minutes.

POST /order

{
  "cart_id": "{{cart_id}}",
  "lines": [
    {
      "cart_line_id": "{{cart_line_id}}",
      "customer": {
        "name": "Societé",
        "company_number": "00000000000000",
        "mailing_address": {
          "address": {
            "street": "35 rue des jeuneurs",
            "zip_code": "75002",
            "city": "PARIS"
          }
        }
      },
      "contact": {
        "name": "societe",
        "email": "[email protected]",
        "phone": "+33601020304"
      }
    }
  ]
}